let scene = new THREE.Scene();


// let geometry = new THREE.SphereGeometry(60,40,40); // 球
// let geometry = new THREE.BoxGeometry(100,100,100); // 立方体
let geometry = new THREE.IcosahedronGeometry(50);

// 材质对象Material
let material = new THREE.MeshLambertMaterial({
  color: 0x0000ff
})

// 网格模型对象mesh
let mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);// 网格模型对象添加到

// 辅助坐标系
let axisHelper = new THREE.AxisHelper(250);
scene.add(axisHelper);

/**
 * 光源设置
 */

// 点光源
let point = new THREE.PointLight(0xffffff);
point.position.set(400, 200, 300);// 光源位置
scene.add(point); // 点光源添加到场景中
// 环境光
let ambient = new THREE.AmbientLight(0x444444);
scene.add(ambient);

/**
 * 相机设置
 */
let width = window.innerWidth; // 窗口宽度
let height = window.innerHeight; // 窗口高度
let k = width/height; // 窗口宽高比
let s = 200; // 三维场景显示范围控制系数，系数越大，显示的范围越大
// 创建相机对象
let camera = new THREE.OrthographicCamera(-s * k, s * k, s, -s, 1, 1000);
camera.position.set(200, 300, 200); // 相机的位置
camera.lookAt(scene.position); // 设置相机的方向

/**
 * 创建渲染对象
 */
let renderer = new THREE.WebGLRenderer();
renderer.setSize(width, height); // 设置渲染区域尺寸
renderer.setClearColor(0xb9d3ff, 1); // 设置背景颜色
document.body.appendChild(renderer.domElement); // body中插入canvas对象


// 渲染函数
function render(){
  // 执行渲染操作  指定场景、相机作为参数
  renderer.render(scene, camera);
  mesh.rotateY(0.01);
  requestAnimationFrame(render);
}
render();

// 渲染函数
// function render(){
//   // 执行渲染操作  指定场景、相机作为参数
//   renderer.render(scene, camera);
//   requestAnimationFrame(render);
// }
// render();

let controls = new THREE.OrbitControls(camera,renderer.domElement);

// controls.addEventListener('change', render);